//
//  ADJgSDKIntertitialAd.h
//  ADJgSDK
//
//  Created by 陶冶明 on 2020/4/10.
//

#import <UIKit/UIKit.h>
#import <ADJgSDK/ADJgAdapterErrorDefine.h>
#import <ADJgSDK/ADJgAdViewInfoProtocol.h>

NS_ASSUME_NONNULL_BEGIN

@protocol ADJgSDKIntertitialAdDelegate;

@interface ADJgSDKIntertitialAd : NSObject <ADJgAdViewInfoProtocol>

/**
 代理回调
*/
@property (nonatomic, weak) id<ADJgSDKIntertitialAdDelegate> delegate;

/*
 viewControllerForPresentingModalView
 详解：[必选]开发者需传入用来弹出目标页的ViewController，一般为当前ViewController
 */
@property (nonatomic, weak) UIViewController *controller;

/**
 请求超时时间,默认为4s,需要设置3s及以上
 */
@property (nonatomic, assign) NSTimeInterval tolerateTimeout;

/**
 广告位id
*/
@property (nonatomic, copy) NSString *posId;

/**
 场景id
 */
@property (nonatomic, copy, nullable) NSString *scenesId;


/**
 是否静音，默认静音
 支持平台：天目，极光ads，优量汇，快手，汇盈
 特殊平台：穿山甲（需在穿山甲后台广告位配置处设置）
 */
@property (nonatomic, assign) BOOL isMuted;

/**
 加载广告数据
*/
- (void)loadAdData;

/**
 展示广告
*/
- (void)show;

@end

@protocol ADJgSDKIntertitialAdDelegate <NSObject>

/**
 ADJgSDKIntertitialAd请求成功回调
 
 @param interstitialAd 插屏广告实例对象
*/
- (void)adjg_interstitialAdSuccedToLoad:(ADJgSDKIntertitialAd *)interstitialAd;

/**
 ADJgSDKIntertitialAd请求失败回调

 @param interstitialAd 插屏广告实例对象
 @param error 失败原因
*/
- (void)adjg_interstitialAdFailedToLoad:(ADJgSDKIntertitialAd *)interstitialAd error:(ADJgAdapterErrorDefine *)error;

/**
 ADJgSDKIntertitialAd展示在屏幕内回调

 @param interstitialAd 插屏广告实例对象
*/
- (void)adjg_interstitialAdDidPresent:(ADJgSDKIntertitialAd *)interstitialAd;

/**
 ADJgSDKIntertitialAd展示在屏幕内失败回调

 @param interstitialAd 插屏广告实例对象
*/
- (void)adjg_interstitialAdFailedToPresent:(ADJgSDKIntertitialAd *)interstitialAd error:(NSError *)error;

/**
 ADJgSDKIntertitialAd点击回调

 @param interstitialAd 插屏广告实例对象
*/
- (void)adjg_interstitialAdDidClick:(ADJgSDKIntertitialAd *)interstitialAd;

/**
 ADJgSDKIntertitialAd关闭回调

 @param interstitialAd 插屏广告实例对象
*/
- (void)adjg_interstitialAdDidClose:(ADJgSDKIntertitialAd *)interstitialAd;

/**
 ADJgSDKIntertitialAd展示回调
 
 @param interstitialAd 广告实例
 */
- (void)adjg_interstitialAdExposure:(ADJgSDKIntertitialAd *)interstitialAd;

/**
 ADJgSDKIntertitialAd关闭落地页回调
 
 @param interstitialAd 广告实例
 */
- (void)adjg_interstitialAdCloseLandingPage:(ADJgSDKIntertitialAd *)interstitialAd;

@end


NS_ASSUME_NONNULL_END
